package com.cloudkinto.vo.order.outbound;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 截单回库上架
 *
 * @author long
 */
@Data
public class BackOutboundShelfVo {
    @ApiModelProperty("截单id")
    private Long id;

    @ApiModelProperty("截单号")
    private String backNo;

    @ApiModelProperty("数据类型 1sku 2箱")
    private Integer dataType;

    @ApiModelProperty("出库单号")
    private String outboundNo;

    @ApiModelProperty("出库单id")
    private Long outboundId;

    @ApiModelProperty("物流跟踪号")
    private String trackingNumber;

    @ApiModelProperty("物流渠道")
    private String logisticsChannel;

    @ApiModelProperty("客户")
    private String company;

    private List<BackOutboundShelfVo.ProductDetail> detailList = new ArrayList<>();

    @Data
    public static class ProductDetail {
        private Long productId;
        private String skuOrBoxTypeNumber;
        private String productName;
        @ApiModelProperty("自定义箱条码")
        private String customBoxBarcode;
        @ApiModelProperty("应上架数量")
        private Integer shouldShelfQty;
        @ApiModelProperty("库位信息")
        private List<BackOutboundShelfVo.CellDetail> cellDetailList = new ArrayList<>();
    }

    @Data
    public static class CellDetail {
        @ApiModelProperty("库位id")
        private Long rackId;
        @ApiModelProperty("库位编码")
        private String cellCode;
        @ApiModelProperty("实际上架数量")
        private Integer qty;
    }
}
